﻿namespace ApiTemplate.Entity.Input
{
    /// <summary>
    /// 生成框架的输入参数
    /// </summary>
    public class BuildFrameworkInput
    {
        /// <summary>
        /// 命名空间
        /// </summary>
        public string NameSpace { get; set; }

        /// <summary>
        /// 发送到指定邮箱
        /// </summary>
        public string Email { get; set; }

        /// <summary>
        /// .net版本
        /// </summary>
        public DotNetVersion DotNetVersion { get; set; }

        /// <summary>
        /// 框架结构
        /// </summary>
        public FrameworkModel FrameworkModel { get; set; }

        /// <summary>
        /// 数据访问层
        /// </summary>
        public DataAccessType DataAccessType { get; set; }

        /// <summary>
        /// 数据库类型
        /// </summary>
        public DataBaseType DataBaseType { get; set; }

        /// <summary>
        /// 数据库连接字符串
        /// </summary>
        public string ConnStr { get; set; }

        /// <summary>
        /// Redis配置
        /// </summary>
        public RedisConfig RedisConfig { get; set; }

        /// <summary>
        /// 跨域设置
        /// </summary>
        public string AllowedHosts { get; set; }

        /// <summary>
        /// 启用性能分析
        /// </summary>
        public bool EnableMiniProfiler { get; set; }

        /// <summary>
        /// 启用Redis消息队列
        /// </summary>
        public bool EnableRedisMq { get; set; }

        /// <summary>
        /// 返回统一的格式
        /// </summary>
        public bool CommonResult { get; set; }

        /// <summary>
        /// 全局异常捕捉
        /// </summary>
        public bool CatchExcption { get; set; }

        /// <summary>
        /// SwaggerUI
        /// </summary>
        public SwaggerUI SwaggerUI { get; set; }

        /// <summary>
        /// 返回结果命名规范
        /// </summary>
        public Naming Naming { get; set; }

        /// <summary>
        /// 调度任务
        /// </summary>
        public bool SrchedulerTask { get; set; }

        /// <summary>
        /// 阿里云OSS
        /// </summary>
        public bool AliOSS { get; set; }

        /// <summary>
        /// 微信小程序SDK
        /// </summary>
        public bool WxSdk { get; set; }

        /// <summary>
        /// Word和excel
        /// </summary>
        public bool Office { get; set; }

        /// <summary>
        /// 操作文件的帮助类
        /// </summary>
        public bool FileHelper { get; set; }

        /// <summary>
        /// 网络请求的帮助类
        /// </summary>
        public bool NetWork { get; set; }
    }

}
